home *** CD-ROM | disk | FTP | other *** search
/ Sun Solutions 1997 April to September / Sun Solutions CD - APR '97 - SEP '97 (704-3778-12 Rev. H)(Sun Microsystems, Inc.)(1997).iso / products / bin / httpd / Solaris_x86 / AT-template.cgi < prev    next >
Text File  |  1997-03-07  |  3KB  |  102 lines

  1.  
  2. $myself = $aurl . '/AT-' . $db . 'search.cgi';
  3.  
  4.  
  5. if ($form{'notifySearchPage'}) {
  6.  
  7.     print qq(<html><head><title>EWS Querying</title></head>);
  8.     print qq(<body BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" ALINK="#0000FF"><h1> <img src="${aurl}pictures/AT-search_banner.gif"> </h1><p>);
  9.  
  10.     if (!open(QFORM, "$root/AT-query.html")) {
  11.         print "<h1>Couldn't find $root/AT-query.html</h1>";
  12.         print qq(<a href="$form{'notifyReturn'}">BACK</a>);
  13.         exit(0);
  14.     }
  15.     while (<QFORM>) {
  16.     s/CGI/$myself/;
  17.     s/BUTTON/$aurl\/pictures\/AT-search_button.gif/;
  18.     s/EXCITED/$aurl\/pictures\/AT-excited.gif/;
  19.     s/DOC/$aurl\/AT-queryhelp.html/;
  20.     s/QUERY/$form{'search'}/;
  21.     print "$_\n" unless ((/___SEPARATOR___/) || $skip_radio || (/___END___/));
  22.     $skip_radio = 0 if (/___END___/);
  23.         if (/___SEPARATOR___/) {
  24.         $skip_radio = 1;
  25.           print qq(<INPUT TYPE="hidden" NAME="notifyReturn" VALUE="$form{'notifyReturn'}">);
  26.         }
  27.     }
  28.     close(QFORM);
  29.     print qq(</body></html>);
  30.     exit(0);
  31. }
  32.  
  33. ## make NewSearch button point back to excite
  34. if ($form{'notifyReturn'}) {
  35.   $form{'sp'} = 'sp';
  36.   if ($form{'notifyReturn'} eq '_back_') {
  37.     $ENV{'HTTP_REFERER'} = $myself . '?notifySearchPage=yes';
  38.   }
  39.   else {
  40.     $ENV{'HTTP_REFERER'} = $form{'notifyReturn'};
  41.   }
  42. }
  43.  
  44. ___SEPARATOR___
  45.  
  46. $form{'root'} = $root;
  47. $search = &ArchitextQuery'setSearchString(%form);
  48. $searchtype = &ArchitextQuery'getSearchMode(%form);
  49.  
  50. ## put necessary additional information into %form
  51. $form{'aurl'} = $aurl;
  52. $form{'db'} = $db;
  53. $form{'index'} = $index;
  54. $form{'hroot'} = $hroot;
  55. $form{'binary'} = $binary;
  56. $form{'urledit'} = $urledit;
  57. $form{'searchpage'} = $ENV{'HTTP_REFERER'} if ($form{'sp'});
  58. $form{'docs'} = '1' unless $form{'docs'};
  59. $form{'psearch'} = $form{'psearch'} || $form{'search'};
  60. $form{'search'} = $search;
  61.  
  62. $errstr = 'success';
  63. ## This call checks to make sure that an index has been built for 
  64. ## this collection.  Also checks if we should use new query syntax
  65. $form{'newquery'} = &ArchitextQuery'checkForIndex(%form);
  66.  
  67. if ($searchtype eq 'confidence') {
  68.     ## Perform the query. This function doesn't print anything. 
  69.     ##Later commands will display the results.
  70.     ($errstr, @query_results) = &ArchitextQuery'MakeQuery(%form);
  71.     $docs = &ArchitextQuery'PrepareGather(*query_results);
  72.     $form{'docs'} = $docs;
  73.     &ArchitextQuery'showSearchMode($searchtype, %form) 
  74.     unless (($errstr eq 'summary') || ($errstr eq 'dump'));
  75.     &ArchitextQuery'showSearchString(%form) 
  76.     unless (($errstr eq 'summary') || ($errstr eq 'dump'));
  77.     &ArchitextQuery'HtmlList(*query_results, %form) if ($errstr eq 'success');
  78. } else {
  79.     ## subject group query
  80.     &ArchitextQuery'showSearchMode($searchtype, %form);
  81.     &ArchitextQuery'showSearchString(%form, 'gather', 'gather');
  82.     $errstr = &ArchitextQuery'MakeGather(%form);
  83.  
  84. }
  85.  
  86. if ($errstr eq 'summary') {
  87.         &ArchitextQuery'SummaryOutput($form{'stitle'} || '*',
  88.                       $form{'surl'} || '*',
  89.                       *query_results);
  90. } elsif ($errstr eq 'dump') {
  91.         &ArchitextQuery'DocumentOutput(*query_results);
  92. } else {
  93.         print &ArchitextQuery'queryError($errstr) 
  94.         unless ($errstr eq 'success');
  95. }
  96.  
  97. &ArchitextQuery'footer($aurl) if ($errstr eq 'success');
  98.  
  99.  
  100.  
  101.  
  102.